home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 April / Chip_2004-04_cd1.bin / software / slunec / app / 2060_2493.exe / {app} / Highlighters / x86 Assembler.chl < prev   
Text File  |  2003-11-14  |  11KB  |  238 lines

  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // x86 Assembly highlighter written by Eden Kirin, eden.kirin@inet.hr
  4. //
  5. //////////////////////////////////////////////////////////////////////////////
  6.  
  7. //////////////////////////////////////////////////////////////////////////////
  8. // language name
  9.  
  10. Language:               x86 Assembler
  11.  
  12. //////////////////////////////////////////////////////////////////////////////
  13. // put whatever you want here, short description, author name, email address..
  14.  
  15. Description:            x86 Assembly highlighter written by Eden Kirin, eden.kirin@inet.hr
  16.  
  17. //////////////////////////////////////////////////////////////////////////////
  18. // default file filter
  19. // note: if more than one extension is associated, eg:
  20. // C/C++ files (*.c,*.cpp,*.h,*.hpp)|*.c;*.cpp;*.h;*.hpp
  21.  
  22. Filter:                 x86 Assembler files (*.asm)|*.asm
  23.  
  24.  
  25. //////////////////////////////////////////////////////////////////////////////
  26. // help file which will be invoked when F1 is pressed
  27.  
  28. HelpFile:
  29.  
  30.  
  31. //////////////////////////////////////////////////////////////////////////////
  32. // language case sensitivity
  33. //                      0  - no
  34. //                      1  - yes
  35.  
  36. CaseSensitive:          0
  37.  
  38.  
  39. //////////////////////////////////////////////////////////////////////////////
  40. // comment type: LineComment - comment to the EOL
  41. // BlockCommentBeg - block comment begin, it could be
  42. // multiline
  43. // BlockCommentEnd - block comment end
  44. //
  45. // if there is more than one definition of line/beg/end comment string,
  46. // you can separate it with spaces.
  47. // for example, for pascal it would be:
  48. //   LineComment:       //
  49. //   BlockCommentBeg:   (* {
  50. //   BlockCommentEnd:   *) }
  51.  
  52. LineComment:            ;
  53. BlockCommentBeg:
  54. BlockCommentEnd:
  55.  
  56.  
  57. //////////////////////////////////////////////////////////////////////////////
  58. // identifier characters
  59. // note: characters shouldn't be delimited, except arrays
  60. // array of chars could be defined as from_char..to_char
  61.  
  62. IdentifierBegChars:     a..z A..Z _%@.
  63. IdentifierChars:        a..z A..Z _ 0..9 ?
  64.  
  65. //////////////////////////////////////////////////////////////////////////////
  66. // numeric constants begin characters
  67. // note: characters shouldn't be delimited, except arrays
  68. // array of chars could be defined as from_char..to_char
  69. // number always starts with 0..9 except when NumConstBeg
  70. // defines other
  71.  
  72. NumConstBegChars:       0..9
  73.  
  74.  
  75. //////////////////////////////////////////////////////////////////////////////
  76. // numeric constants characters
  77. // note: characters shouldn't be delimited, except arrays
  78. // array of chars could be defined as from_char..to_char
  79. // number always starts with 0..9 except when NumConstBeg
  80. // defines other
  81.  
  82. NumConstChars:          0..9 abcdefhABCDEFH
  83.  
  84.  
  85. //////////////////////////////////////////////////////////////////////////////
  86. // escape character
  87.  
  88. EscapeChar:
  89.  
  90.  
  91. //////////////////////////////////////////////////////////////////////////////
  92. // keyword table
  93. // note: delimited with spaces, lines could be wrapped
  94. // you may divide keywords into five groups which can be
  95. // highlighted differently
  96.  
  97. // op codes
  98.  
  99. KeyWords1:              aaa aad aam adc add and arpl bound bsf bsr bswap bt btc
  100.                         btr bts call cbw cdq clc cld cli clts cmc cmp cmps
  101.                         cmpsb cmpsd cmpsw cmpxchg cwd cwde daa das dec div emms
  102.                         enter f2xm1 fabs fadd faddp fbld fbstp fchs fclex
  103.                         fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu
  104.                         fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdiv
  105.                         fdivp fdivr fdivrp femms ffree fiadd ficom ficomp fidiv
  106.                         fidivr fild fimul fincstp finit fist fistp fisub fisubr
  107.                         fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi
  108.                         fldz fmul fmulp fnclex fninit fnop fnsave fnstcw
  109.                         fnstenv fnstsw fpatan fprem1 fptan frndint frstor fsave
  110.                         fscale fsin fsincos fsqrt fst fstcw fstenv fstp fstsw
  111.                         fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip
  112.                         fucomp fucompp fwait fxch fxtract fyl2xp1 hlt idiv imul
  113.                         in inc ins insb insd insw int into invd invlpg iret
  114.                         iretd iretw ja jae jb jbe jc jcxz je jecxz jg jge jl
  115.                         jle jmp jna jnae jnb jnbe jnc jne jng jnge jnl jnle jno
  116.                         jnp jns jnz jo jp jpe jpo js jz lahf lar lds lea leave
  117.                         les lfs lgdt lgs lidt lldt lmsw lock lods lodsb lodsd
  118.                         lodsw loop loope loopne loopnz loopz lsl lss ltr mov
  119.                         movd movq  movs movsb movsd movsw movsx movzx mul neg
  120.                         nop not or out outs outsb outsd outsw packssdw packsswb
  121.                         packuswb paddb paddd paddsb paddsw paddusb paddusw
  122.                         paddw pand pandn pavgusb pcmpeqb pcmpeqd pcmpeqw
  123.                         pcmpgtb pcmpgtd pcmpgtw pf2id pfacc pfadd pfcmpeq
  124.                         pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1
  125.                         pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmaddwd
  126.                         pmulhrw pmulhw pmullw pop popa popad popaw popf popfd
  127.                         popfw por prefetch prefetchw pslld psllq psllw psrad
  128.                         psraw psrld psrlq psrlw psubb psubd psubsb psubsw
  129.                         psubusb psubusw psubw punpckhbw punpckhdq punpckhwd
  130.                         punpcklbw punpckldq punpcklwd push pusha pushad pushaw
  131.                         pushf pushfd pushfw pxor rcl rcr rep repe repne repnz
  132.                         repz ret rol ror sahf sal sar sbb scas scasb scasd
  133.                         scasw seta setae setb setbe setc sete setg setge setl
  134.                         setle setna setnae setnb setnbe setnc setne setng
  135.                         setnge setnl setnle setno setnp setns setnz seto setp
  136.                         setpo sets setz sgdt shl shld shr shrd sidt sldt smsw
  137.                         stc std sti stos stosb stosd stosw str sub test verr
  138.                         verw wait wbinvd xadd xchg xlat xlatb xor
  139.  
  140. // registers
  141.  
  142. KeyWords2:              ax bx cx dx ex si di bp sp ss es ds cs ip
  143.                         al ah bl bh ch cl dh dl eh el
  144.                         eax ebx ebp ecx edi edx esi esp
  145.  
  146.  
  147. KeyWords3:              %out .186 .286 .286c .286p .287 .386 .386p .387 .8086
  148.                         .8087 .alpha .seq .code .const .cref .data .data? .err
  149.                         .err1 .err2 .errb .errdef .errdif .erre .fardata
  150.                         .fardata? .lall .lfcond .list .model .msfloat .radix
  151.                         .sall .sfcond .stack .type .xall .xcref .xlist @curseg
  152.                         @filename @code @codesize @datasize @const @data @data?
  153.                         @fardata @fardata? @stack align and assume at b byte
  154.                         comm comment common compact d db dd df dosseg dup fq dt
  155.                         dw dword else end endif endm endp ends eq equ even
  156.                         exitm extrn far ge group h high huge ifdef include
  157.                         includelib irp irpc label large le length low local lt
  158.                         macro mask medium memory name near not o offset or org
  159.                         page para proc public purge q record rept seg segment
  160.                         shl short size shr small stack struc subttl this tiny
  161.                         title type use16 use32 width word xor code data nothing
  162.                         ptr
  163.  
  164.  
  165. KeyWords4:
  166.  
  167.  
  168. KeyWords5:
  169.  
  170.  
  171. //////////////////////////////////////////////////////////////////////////////
  172. // string delimiter: StringBegChar - string begin char
  173. // StringEndChar - string end char
  174. // MultilineStrings - enables multiline strings, as perl
  175. // has it
  176.  
  177. StringBegChar:          "
  178. StringEndChar:          "
  179. MultilineStrings:       0
  180.  
  181.  
  182. //////////////////////////////////////////////////////////////////////////////
  183. // use preprocessor: 0 - no
  184. // 1 - yes
  185. // note: if yes, '#' and statements after it will be
  186. // highlighted with Preprocessor defined colors
  187.  
  188. UsePreprocessor:        0
  189.  
  190.  
  191. //////////////////////////////////////////////////////////////////////////////
  192. // highlight line: 0 - no
  193. // 1 - yes
  194. // note: if yes, current line will be highlighted
  195.  
  196. CurrLineHighlighted:    0
  197.  
  198.  
  199. //////////////////////////////////////////////////////////////////////////////
  200. // colors
  201. // note:                first value is foreground, second is background color
  202. //                        and third (optional) represents font attribute:
  203. //                        B - bold
  204. //                        I - italic
  205. //                        U - underline
  206. //                        S - strike out
  207. //                        attributes can be combined: eg. B or BI
  208. //                      as value, it could be used any standard windows color:
  209. //                        clBlack, clMaroon, clGreen, clOlive, clNavy,
  210. //                        clPurple, clTeal, clGray, clSilver, clRed, clLime,
  211. //                        clYellow, clBlue, clFuchsia, clAqua, clLtGray,
  212. //                        clDkGray, clWhite, clScrollBar, clBackground,
  213. //                        clActiveCaption, clInactiveCaption, clMenu, clWindow,
  214. //                        clWindowFrame, clMenuText, clWindowText, clCaptionText,
  215. //                        clActiveBorder, clInactiveBorder, clAppWorkSpace,
  216. //                        clHighlight, clHighlightText, clBtnFace, clBtnShadow,
  217. //                        clGrayText, clBtnText, clInactiveCaptionText,
  218. //                        clBtnHighlight, cl3DDkShadow, cl3DLight, clInfoText,
  219. //                        clInfoBk
  220. //                      as value, it could be used hex numeric constant too:
  221. //                        $BBGGRR - BB: blue, GG: green, RR: red, eg: $FF6A00
  222.  
  223. SpaceCol:               clWindowText clWindow
  224. Keyword1Col:            clNavy clWindow
  225. Keyword2Col:            clPurple clWindow
  226. Keyword3Col:            clBlue clWindow
  227. Keyword4Col:            clBlue clWindow
  228. Keyword5Col:            clBlue clWindow
  229. IdentifierCol:          clWindowText clWindow
  230. CommentCol:             clGray clWindow
  231. NumberCol:              clRed clWindow
  232. StringCol:              clMaroon clWindow
  233. SymbolCol:              clGray clWindow
  234. PreprocessorCol:        clBlue clWindow
  235. SelectionCol:           clWhite clNavy
  236. CurrentLineCol:         clBlack clYellow
  237.  
  238.